#include <boost/test/unit_test.hpp>
#include <qua/opt.h>

using namespace qua;

struct opt_test_fixture
{
    opt_test_fixture()
    {
    }

    ~opt_test_fixture()
    {
    }
};

BOOST_FIXTURE_TEST_SUITE( opt_test_suite, opt_test_fixture )

BOOST_AUTO_TEST_CASE( opt_simple_test_case )
{
    opt<int> alpha;
    BOOST_CHECK( alpha.is_null() );

    opt<bool> beta( true );
    BOOST_CHECK( beta.is_not_null() );
    BOOST_CHECK( beta.get_value() );

    opt<double> gamma = 123.45;
    BOOST_CHECK( !gamma.is_null() );
    BOOST_CHECK_EQUAL( gamma, 123.45 );
}

BOOST_AUTO_TEST_SUITE_END()
